package outils.chemin;

/**
 *
 * @param <T>
 * @param <U>
 * @author nicolas
 */
public class PairePoidsValeur<T, U extends Comparable> implements Comparable {

	/**
	 * poids de l'élément
	 */
	public U poids;
	/**
	 * valeur de l'élément
	 */
	public T valeur;

	@Override
	public boolean equals(Object obj) {
		PairePoidsValeur<T, U> ppv = (PairePoidsValeur<T, U>) obj;
		return ppv.valeur.equals(valeur);
	}

	@Override
	public int hashCode() {
		int hash = 5;
		hash = 23 * hash + (this.poids != null ? this.poids.hashCode() : 0);
		hash = 23 * hash + (this.valeur != null ? this.valeur.hashCode() : 0);
		return hash;
	}

	@Override
	public int compareTo(Object b) {
		return poids.compareTo(((PairePoidsValeur<T, U>) b).poids);
	}
}
